import java.util.Optional;

/**
 * 
 * Optional.of(obj)：它要求传入的 obj 不能是 null 值的, 否则直接报NullPointerException 异常。
 * Optional.ofNullable(obj)：它以一种智能的，宽容的方式来构造一个 Optional 实例。来者不拒，传 null 进到就得到 Optional.empty()，非 null 就调用 Optional.of(obj).
 * Optional.empty()：返回一个空的 Optional 对象
 */
public class Construction {
    public static void main(String[] args) throws Exception {
        // test();
        test2();
    }

    public static void test() {
        Optional.of(null); // throws NullPointerException
    }

    public static void test2() {
        System.out.println(Optional.ofNullable(null));; 
    }

    public static void test3() {
        System.out.println(Optional.empty());; 
    }
}
